import { createStore } from 'vuex' // 导入 createStore 而不是 Vuex

export default createStore({ // 使用 createStore 创建 store
    //数据，相当于data
    state: {
        permission: null,
        role: null,
    },
    mutations:{
        // 两个函数用来 设置state里面的数据的
        setPermission(state, payload) { // 定义一个 setPermission 方法
            state.permission = payload // 修改 state 中的 permission 属性
          },

          setRole(state, payload) { // 定义一个 setPermission 方法
            state.role = payload // 修改 state 中的 permission 属性
          }
    },
    actions:{

    },
    getters:{
        // 这里的几个函数是用来获取state里面的数据的 而且配合页面里的computed使用，是响应式的。

        isAdmin(state) { // 定义一个 isAdmin 方法
            if(!state.role)return false
            return state.role.includes('ROLE_ADMIN')
        },
        isManagenment(state) {
            if(!state.role)return false
            return state.role.includes('ROLE_MANAGEMENT')
        },
        isAuditor(state) {
            if(!state.role)return false
            return state.role.includes('ROLE_AUDITOR')

        },
        isAuditorAndMangement(state) {
            if(!state.role)return false
            return state.role.includes('ROLE_MANAGEMENT') || state.role.includes('ROLE_AUDITOR')
        }
    },
    modules:{

    }
  })
